package com.airobot.candidates.service;

import com.example.common.utils.CommonResult;

import java.util.Map;

/**
 * 候选人服务接口
 * 定义面试相关的业务方法
 */
public interface CandidateService {
    
    /**
     * 开始面试
     * @param candidateId 候选人ID
     * @return 面试信息
     */
    CommonResult<Map<String, Object>> startInterview(Integer candidateId);
    
    /**
     * 根据手机号获取候选人信息
     * @param phone 手机号
     * @return 候选人信息
     */
    CommonResult<Map<String, Object>> getByPhone(String phone);
    
    /**
     * 获取面试安排
     * @param candidateId 候选人ID
     * @return 面试安排信息
     */
    CommonResult<Map<String, Object>> getInterviewSchedule(Integer candidateId);
    
    /**
     * 提交答案
     * @param candidateId 候选人ID
     * @param questionId 题目ID
     * @param answer 答案内容
     * @return 提交结果
     */
    CommonResult<String> submitAnswer(Integer candidateId, Integer questionId, String answer);
    
    /**
     * 获取面试详情
     * @param candidateId 候选人ID
     * @return 面试详情，包含面试安排、题目列表和面试官信息
     */
    CommonResult<Map<String, Object>> getInterviewDetails(Integer candidateId);
    
    /**
     * 完成面试
     * @param candidateId 候选人ID
     * @return 操作结果
     */
    CommonResult<String> completeInterview(Integer candidateId);
    
    /**
     * 根据手机号获取完整面试详情
     * @param phone 手机号
     * @return 完整面试详情
     */
    CommonResult<Map<String, Object>> getFullInterviewDetailByPhone(String phone);
} 